package com.wyz.web.service;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.wyz.common.dto.OrderDTO;
import com.wyz.common.vo.OrderAvailableVO;
import com.wyz.common.vo.OrderDetailVO;
import com.wyz.common.vo.OrderPublishedVO;
import com.wyz.common.vo.OrderPickedVO;


import java.util.List;

public interface OrderService {
    List<OrderAvailableVO> getAllUnpickOrders();
    OrderDetailVO getOrderDetail(Long orderId) throws JsonProcessingException;

    List<OrderPublishedVO> getOrdersBySenderId(long userId);
    String publishOrder(long userId, OrderDTO orderDTO);
    void cancelPublishOrder(long orderId);
    void confirmOrder(long orderId);

    List<OrderPickedVO> getPickedOrdersByReceiverId(long userId);
    void pickOrder(long userId, long orderId);
    void cancelPickOrder(long orderId);
    void confirmOrderArrived(long orderId);
}
